package utils

import (
  "io/ioutil"

  "gopkg.in/yaml.v2"
)

//DbConfig 数据库配置
type DbConfig struct {
  Driver  string
  Connect string
}


//Redis 配置
type RedisConfig struct {
  Url  string
  Auth string
  Db   string
}

type Account struct{
  Username string
  Password string
}

//Config 配置文件
type Config struct {
  Db         DbConfig
  Redis      RedisConfig
  Account   Account
  Dev        bool
  Port       string
  Authorized bool
}

var config *Config

//InitConfig 读取配置文件
func InitConfig(source string) error {
  configBytes, err := ioutil.ReadFile(source)
  if err != nil {
    return err
  }
  err = yaml.Unmarshal(configBytes, &config)
  if err != nil {
    return err
  }
  return nil
}

//GetConfig 获取配置文件
func GetConfig() *Config {
  return config
}
